package main

import "fmt"

// Person 定义方法体
type Person struct {
	name string
}

// 定义方法体的方法， ：值传递
func (p *Person) setName(name string) {
	p.name = name
	fmt.Println("inner.setName:", p.name)
}
func (p *Person) String() string {
	str := fmt.Sprintf("NAME is %s", p.name)
	return str
}
func main() {
	person := Person{"张三"}
	person.setName("李四")     // 地址传递（指针传递）
	fmt.Println(person.name) //  输出李四
	fmt.Println(&person)     // 输出：NAME is 李四
}
